package cn.rubintry.bug.lib.network.http.viewmodel

import android.annotation.SuppressLint
import androidx.activity.ComponentActivity
import androidx.lifecycle.*
import kotlinx.coroutines.cancel

open class ActivityViewModel() : ViewModel() {




//    init {
//        this.mActivity = activity
//        activity.lifecycle.addObserver(object : LifecycleEventObserver{
//            override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) {
//                when(event){
//                    Lifecycle.Event.ON_START -> {
//                        onActivityStart()
//                    }
//
//                    Lifecycle.Event.ON_STOP -> {
//                        onActivityStop()
//                    }
//
//                    Lifecycle.Event.ON_DESTROY -> {
//                        onActivityDestroy()
//                        mActivity = null
//                        viewModelScope.cancel()
//                        activity.lifecycle.removeObserver(this)
//                    }
//
//                    Lifecycle.Event.ON_RESUME -> {
//                        onActivityResume()
//                    }
//
//                    else -> {
//
//                    }
//                }
//            }
//
//        })
//    }

    open fun onActivityStart() {

    }

    open fun onActivityStop(){

    }

    open fun onActivityDestroy(){

    }

    open fun onActivityResume(){

    }


//    @Suppress("UNCHECKED_CAST")
//    fun <T : ComponentActivity> getActivity() : T? {
//        return mActivity as? T
//    }


}